Database tables include several database records, and several values for each database record. Storage of these values typically consumes large amounts of memory (e.g., disk-based memory or Random Access memory).
Conventionally, the amount of memory required to store table values may be reduced by storing small value IDs instead of the values themselves. In order to facilitate such storage, a dictionary is used which maps table values into value IDs. Each unique value in the dictionary is associated with one unique value ID. Therefore, when a particular value is to be stored in a database record, the value ID for the value is determined from the dictionary and the value ID is stored in the record instead of the value itself.
Despite the foregoing, systems are desired to further reduce the amount of memory consumed by a database system.